package com.ce.pms.charge.service;

import java.util.List;
import java.util.Map;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.charge.vo.ChargeVoucherSearchVO;
import com.ce.pms.report.vo.ChargeVoucherReportVO;
import com.sitechasia.webx.core.support.Page;

/**
 * 功能描述： 收费凭证打印
 * <p>版权所有：中企动力
 * <p>未经本公司许可，不得以任何方式复制或使用本程序任何部分
 *
 * @author 黄彦军
 * Created on 2008-8-15
 * Edit author:
 * Edit on:
 * 修改原因:
 */
public interface IChargeVoucherService extends IPmsBaseService {


	/**
	 * 功能描述: 查询当前页凭证集合列表 <br>
	 * @param voucherSearchVO 凭证查询条件VO
	 * @return Map 0:当前页数据集合  1:当前页  2:总行数  3:页大小
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-15  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Page queryCurrentlyPageVoucher(ChargeVoucherSearchVO voucherSearchVO);


	/**
	 * 功能描述:查询打印总次数  <br>
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-22  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Long findPrintTotal();

	/**
	 * 功能描述:打印一个凭证，将打印资料加1,如果状态为新建的，则修改为已打印  <br>
	 * @param voucherID
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-22  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public void updateVoucherStart(Long voucherID);

	/**
	 * 功能描述:根据收费凭证ID查询缴费明细 <br>
	 * @param voucherID
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-8  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List getpayTrans(Long voucherID,String sortStr);

	/**
	 * 功能描述:根据凭证ID 查找支付列表  <br>
	 * @param voucherID
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-9  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List getPayListByVoucherId(Long voucherID);

	/**
	 * 功能描述:获取一个凭证的交易摘要  <br>
	 * @param voucherId
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-9  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public String getpaySummaryByVoucherId(Long voucherId);

	/**
	 * 功能描述:获取打印信息  <br>
	 * @param voucherId
	 * @param houseId
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-9  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public ChargeVoucherReportVO voucherReport(Long voucherId,Long houseId);

}
